home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-12-19 | 4.1 KB | 139 lines | [TEXT/ttxt] |
- --<<<
-
- fileIn theScriptDir name:"cciDef.sx"
- module customClassImplementation
- uses ScriptX,customClassesInterface
- end
- module cciAssemble
- uses ScriptX,customClassesInterface
- end
-
- in module customClassImplementation
- global castList := new array
- global castByName := new hashTable
- in module cciAssemble
- if not (isFile theScriptDir "cciDef.out") do (
- createFile theScriptDir "cciDef.out" @text
- )
- global modDefOut := getStream(theScriptDir,"cciDef.out",@writable)
-
- global InterfaceCode := new String
- function bldInterface newData->
- (
- if isAKindOf(newData,String) do (
- InterfaceCode := InterfaceCode + newData + "\n"
- )
- if isAKindOf(newData,Array) do (
- local newClass := newData[1]
- if newClass <> undefined do (
- local newClassName := getRange (getClassName newClass) 5 100
- InterfaceCode := InterfaceCode + " exports " + newClassName + "\n"
- --append classList newClass
- )
- if newData[2] <> undefined do (
- for newIV in newData[2] do (
- InterfaceCode := InterfaceCode + " exports " + newIV +
- "Getter\n"
- InterfaceCode := InterfaceCode + " exports " + newIV +
- "Setter\n"
- )
- )
- if newData[3] <> undefined do (
- for newMethod in newData[3] do (
- InterfaceCode := InterfaceCode + " exports " + newMethod +
- "\n"
- )
- )
- )
- return OK
- )
-
- InterfaceCode := "\nmodule customClassesInterface\n"
- bldInterface " uses scriptX"
- bldInterface #(undefined,undefined,#("custClassList","castList","castByName"))
-
- global newStuff := fileIn theScriptDir name:"util.fnc" \
- module:@customClassImplementation
- bldInterface newStuff
- newStuff := fileIn theScriptDir name:"findSXKey.fnc" \
- module:@customClassImplementation
- bldInterface newStuff
- newStuff := fileIn theScriptDir name:"chngsprt.cls" \
- module:@customClassImplementation
- bldInterface newStuff
- newStuff := fileIn theScriptDir name:"playsnd.cls" \
- module:@customClassImplementation
- bldInterface newStuff
- newStuff := fileIn theScriptDir name:"SmartBounce.cls"\
- module:@customClassImplementation
- bldInterface newStuff
- newStuff := fileIn theScriptDir name:"slingShot.cls" \
- module:@customClassImplementation
- bldInterface newStuff
- newStuff := fileIn theScriptDir name:"Stage.cls" \
- module:@customClassImplementation
- bldInterface newStuff
- newStuff := fileIn theScriptDir name:"Scene.cls" \
- module:@customClassImplementation
- bldInterface newStuff
- newStuff := fileIn theScriptDir name:"slider.cls" \
- module:@customClassImplementation
- bldInterface newStuff
- newStuff := fileIn theScriptDir name:"NavButton.cls" \
- module:@customClassImplementation
- bldInterface newStuff
- newStuff := fileIn theScriptDir name:"anim.cls" \
- module:@customClassImplementation
- bldInterface newStuff
- newStuff := fileIn theScriptDir name:"instrmnt.cls" \
- module:@customClassImplementation
- bldInterface newStuff
- newStuff := fileIn theScriptDir name:"condClock.cls" \
- module:@customClassImplementation
- bldInterface newStuff
- newStuff := fileIn theScriptDir name:"conductor.cls" \
- module:@customClassImplementation
- bldInterface newStuff
- newStuff := fileIn theScriptDir name:"clocktoggle.cls" \
- module:@customClassImplementation
- bldInterface newStuff
- bldInterface "end"
- newStuff := undefined
-
- in module customClassImplementation
- global custClassList := new keyedLinkedList
- (
- add custClassList "NavButton" NavButton
- add custClassList "Scene" Scene
- add custClassList "SlingShotOrb" SlingShotOrb
- add custClassList "Stage" Stage
- add custClassList "Animation" Animation
- add custClassList "Instrument" Instrument
- add custClassList "Slider" Slider
- add custClassList "Conductor" Conductor
- add custClassList "ConductorClock" ConductorClock
- add custClassList "ClockToggle" ClockToggle
- custClassList
- )
- in module cciAssemble
- (
- local ccLib := new LibraryContainer dir:(parentDir theScriptDir) \
- path:"CustClass.sxl" name:"Custom Classes"
- append ccLib (getModule @customClassesInterface)
- append ccLib (getModule @customClassImplementation)
- ccLib.startupAction := (tc-> forEach tc load undefined)
- close ccLib
- )
- (
- print InterfaceCode
- for b in (InterfaceCode as ByteString) do write modDefOut b
- setStreamLength modDefOut (cursor modDefOut)
- plug modDefOut
- modDefOut := undefined
- )
-
-
-
- -->>>
- quit()
-